//此文件中的内容就是Widget类的声明
//(条件编译)保证头文件只被包含一次，类似于#pragma once
#ifndef WIDGET_H
#define WIDGET_H
//引用父类
#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }//声明此Widget类
QT_END_NAMESPACE

//这里的QWidget就是创建项目的时候所选择的父类
//这些类都是QT SDK内置的
//引用QWidget头文件即可

//Qt的设定:使用Qt中的内置类时，包含的头文件的名字就是和类名是一致的
//C++中也存在间接包含(只要最终包含了这个类所需要的头文件即可)
class Widget : public QWidget
{
    Q_OBJECT
    //Q_OBJECT是一个Qt内置的宏，宏的本质是进行文本替换
    //Q_OBJECT展开之后，会生成一堆代码
    //Q_OBJECT这个宏是"信号和槽"机制的相关的宏字段

public:
    Widget(QWidget *parent = nullptr);
    //此处这个构造函数的参数parent
    //Qt中引入"对象树"机制，创建的Qt对象，就可以把这个对象给挂到对象树上，往树上挂的时候就需要指定"父节点"
    //这里的对象树是一种多叉树
    ~Widget();

private:
    Ui::Widget *ui;//此属性和From file相关
};
#endif // WIDGET_H














































